<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>Apache Flink: Scalable Batch and Stream Data Processing</title>
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" href="/favicon.ico" type="image/x-icon">

    <!-- Bootstrap -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
    <link rel="stylesheet" href="/css/flink.css">
    <link rel="stylesheet" href="/css/syntax.css">

    <!-- Blog RSS feed -->
    <link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" title="Apache Flink Blog: RSS feed" />

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>  
    

  <!-- Top navbar. -->
    <nav class="navbar navbar-default navbar-fixed-top">
      <div class="container">
        <!-- The logo. -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <div class="navbar-logo">
            <a href="/"><img alt="Apache Flink" src="/img/navbar-brand-logo.jpg" width="78px" height="40px"></a>
          </div>
        </div><!-- /.navbar-header -->

        <!-- The navigation links. -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
          <ul class="nav navbar-nav">
            <!-- Overview -->
            <li class="active"><a href="/index.html">Overview</a></li>

            <!-- Quickstart -->
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Quickstart <span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/setup_quickstart.html">Setup</a></li>
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/java_api_quickstart.html">Java API</a></li>
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/scala_api_quickstart.html">Scala API</a></li>
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/quickstart/run_example_quickstart.html">Run Step-by-Step Example</a></li>
              </ul>
            </li>

            <!-- Features -->
            <li><a href="/features.html">Features</a></li>

            <!-- Downloads -->
            <li><a href="/downloads.html">Downloads</a></li>

            <!-- Documentation -->
            <li class="dropdown">
              <a href="" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation <span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <!-- Latest stable release -->
                <li role="presentation" class="dropdown-header"><strong>Latest Release</strong> (Stable)</li>
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9">0.9.0 Documentation</a></li>
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/java" class="active">0.9.0 Javadocs</a></li>
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-release-0.9/api/scala/index.html" class="active">0.9.0 ScalaDocs</a></li>

                <!-- Snapshot docs -->
                <li class="divider"></li>
                <li role="presentation" class="dropdown-header"><strong>Snapshot</strong> (Development)</li>
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master">0.10 Documentation</a></li>
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/java" class="active">0.10 Javadocs</a></li>
                <li><a href="http://ci.apache.org/projects/flink/flink-docs-master/api/scala/index.html" class="active">0.10 ScalaDocs</a></li>

                <!-- Wiki -->
                <li class="divider"></li>
                <li><a href="https://cwiki.apache.org/confluence/display/FLINK/Apache+Flink+Home"><small><span class="glyphicon glyphicon-new-window"></span></small> Wiki</a></li>
              </ul>
            </li>

            <!-- FAQ -->
            <li><a href="/faq.html">FAQ</a></li>
          </ul>

          <ul class="nav navbar-nav navbar-right">
            <!-- Blog -->
            <li class=" hidden-md hidden-sm"><a href="/blog/">Blog</a></li>

            <li class="dropdown hidden-md hidden-sm">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Community <span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <!-- Community -->
                <li role="presentation" class="dropdown-header"><strong>Community</strong></li>
                <li><a href="/community.html#mailing-lists">Mailing Lists</a></li>
                <li><a href="/community.html#irc">IRC</a></li>
                <li><a href="/community.html#stack-overflow">Stack Overflow</a></li>
                <li><a href="/community.html#issue-tracker">Issue Tracker</a></li>
                <li><a href="/community.html#source-code">Source Code</a></li>
                <li><a href="/community.html#people">People</a></li>

                <!-- Contribute -->
                <li class="divider"></li>
                <li role="presentation" class="dropdown-header"><strong>Contribute</strong></li>
                <li><a href="/how-to-contribute.html">How to Contribute</a></li>
                <li><a href="/coding-guidelines.html">Coding Guidelines</a></li>
              </ul>
            </li>

            <li class="dropdown hidden-md hidden-sm">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Project <span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <!-- Project -->
                <li role="presentation" class="dropdown-header"><strong>Project</strong></li>
                <li><a href="/material.html">Material</a></li>
                <li><a href="https://twitter.com/apacheflink"><small><span class="glyphicon glyphicon-new-window"></span></small> Twitter</a></li>
                <li><a href="https://github.com/apache/flink"><small><span class="glyphicon glyphicon-new-window"></span></small> GitHub</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/FLINK/Apache+Flink+Home"><small><span class="glyphicon glyphicon-new-window"></span></small> Wiki</a></li>
              </ul>
            </li>
          </ul>
        </div><!-- /.navbar-collapse -->
      </div><!-- /.container -->
    </nav>


    <!-- Main content. -->
    <div class="container">
      

<div class="row">
  <div class="col-sm-12"><p class="lead"><strong>Apache Flink</strong> is an open source platform for scalable batch and stream data processing.</p></div>
</div>

<div class="row">
  <div class="col-sm-6">

    <p><strong>Flink’s core</strong> is a <a href="features.html#unified-stream-amp-batch-processing">streaming dataflow engine</a> that provides data distribution, communication, and fault tolerance for distributed computations over data streams.</p>

    <p>Flink includes <strong>several APIs</strong> for creating applications that use the Flink engine:</p>

    <ol>
      <li><a href="features.html#dataset-api">DataSet API</a> for static data embedded in Java, Scala, and Python,</li>
      <li><a href="features.html#datastream-api">DataStream API</a> for unbounded streams embedded in Java and Scala, and</li>
      <li><a href="features.html#table-api">Table API</a> with a SQL-like expression language embedded in Java and Scala.</li>
    </ol>

    <p>Flink also bundles <strong>libraries for domain-specific use cases</strong>:</p>

    <ol>
      <li><a href="features.html#machine-learning-library">Machine Learning library</a>, and</li>
      <li><a href="features.html#graph-api-amp-library-gelly">Gelly</a>, a graph processing API and library.</li>
    </ol>

    <p>You can <strong>integrate</strong> Flink easily with other well-known open source systems both for <a href="features.html#deployment-and-integration">data input and output</a> as well as <a href="features.html#deployment-and-integration">deployment</a>.</p>

    <p><strong>Check out the <a href="features.html">features</a> page to get a tour of all major Flink features.</strong></p>
  </div>
  <div class="col-sm-6 stack text-center">
    <img src="/img/flink-stack-small.png" alt="Apache Flink Stack" width="385px" height="300px" />
  </div>
</div>

<hr />

<div class="frontpage-tags">
  <div class="row">
    <div class="col-md-4 text-center">
       <h2><span class="glyphicon glyphicon-flash"></span> <a href="features.html#fast">Fast</a></h2>
      <p>State-of-the art performance exploiting in-memory processing and data streaming.</p>
    </div>
    <div class="col-md-4 text-center">
      <h2><span class="glyphicon glyphicon-plane"></span> <a href="features.html#reliable-and-scalable">Reliable</a></h2>
      <p>Flink is designed to perform very well even when the cluster's memory runs out.</p>
    </div>
    <div class="col-md-4 text-center">
      <h2><span class="glyphicon glyphicon-cutlery"></span> <a href="features.html#expressive">Expressive</a></h2>
      <p>Write beautiful, type-safe code in Java and Scala. Execute it on a cluster.</p>
    </div>
  </div>

  <div class="row">
    <div class="col-md-4 text-center">
      <h2><span class="glyphicon glyphicon-send"></span> <a href="features.html#easy-to-use">Easy to use</a></h2>
      <p>Few configuration parameters required. Cost-based optimizer built in.</p>
    </div>
    <div class="col-md-4 text-center">
      <h2><span class="glyphicon glyphicon-sort"></span> <a href="features.html#reliable-and-scalable">Scalable</a></h2>
      <p>Tested on clusters of 100s of machines, Google Compute Engine, and Amazon EC2.</p>
    </div>
    <div class="col-md-4 text-center">
      <h2><span class="glyphicon glyphicon-refresh"></span> <a href="features.html#hadoop">Hadoop-compatible</a></h2>
      <p>Flink runs on YARN and HDFS and has a Hadoop compatibility package.</p>
    </div>
  </div>
</div>

<hr />

<div class="row">
  <div class="col-sm-6">
    <h2 id="getting-started">Getting Started</h2>

    <p>Download the <strong>latest stable release</strong> and run Flink on your machine, cluster, or cloud:</p>

    <div class="text-center download-button">
  <a href="downloads.html" class="btn btn-primary"><strong>Download</strong> Apache Flink 0.9.0</a>
  <a href="https://github.com/apache/flink" class="btn btn-info">Apache Flink on <strong>GitHub</strong></a>
</div>

    <p>The documentation contains a <a href="http://ci.apache.org/projects/flink/flink-docs-master/setup">setup guide</a> for all deployment options.</p>

    <p>The <a href="http://ci.apache.org/projects/flink/flink-docs-master/apis/programming_guide.html">programming guide</a> contains all information to get you started with writing and testing your Flink programs.</p>

    <p><strong>Check out the <a href="http://ci.apache.org/projects/flink/flink-docs-master">documentation</a> for the next steps.</strong></p>

  </div>
  <div class="col-sm-6" style="padding-bottom:1em">
    <h2 id="latest-blog-posts">Latest blog posts</h2>

    <ul class="list-group">
  
      <li class="list-group-item"><span>24 Jun 2015</span> &raquo;
        <a href="/news/2015/06/24/announcing-apache-flink-0.9.0-release.html">Announcing Apache Flink 0.9.0</a>
      </li>
  
      <li class="list-group-item"><span>14 May 2015</span> &raquo;
        <a href="/news/2015/05/14/Community-update-April.html">April 2015 in the Flink community</a>
      </li>
  
      <li class="list-group-item"><span>11 May 2015</span> &raquo;
        <a href="/news/2015/05/11/Juggling-with-Bits-and-Bytes.html">Juggling with Bits and Bytes</a>
      </li>
  
      <li class="list-group-item"><span>13 Apr 2015</span> &raquo;
        <a href="/news/2015/04/13/release-0.9.0-milestone1.html">Announcing Flink 0.9.0-milestone1 preview release</a>
      </li>
  
      <li class="list-group-item"><span>07 Apr 2015</span> &raquo;
        <a href="/news/2015/04/07/march-in-flink.html">March 2015 in the Flink community</a>
      </li>

</ul>

    <p><strong>Check out <a href="blog/">the blog</a> for all posts.</strong></p>
  </div>
</div>

<div class="row">
  <div class="col-sm-6">
    <h2 id="community">Community</h2>

    <p>You can post questions to the Flink <a href="">community</a> on various channels. Pick the one, which suits you best:</p>

    <ul>
      <li>
        <p><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> <strong>User mailing list</strong>. Subscribe to the mailing list by sending an empty email to user-subscribe@flink.apache.org. Once the subscription is confirmed, you can send questions to user@flink.apache.org.</p>
      </li>
      <li>
        <p><span class="glyphicon glyphicon-search" aria-hidden="true"></span> <strong>Stack Overflow</strong>. Post your questions to <a href="http://stackoverflow.com/questions/ask/?tags=flink">Stack Overflow</a> and tag them with <a href="http://stackoverflow.com/questions/ask/?tags=flink">#flink</a>.</p>
      </li>
      <li>
        <p><span class="glyphicon glyphicon-comment" aria-hidden="true"></span> <strong>IRC chat</strong>. The IRC channel <strong>#flink</strong> at irc.freenode.org is dedicated to Apache Flink. Join the channel and chat with the Flink community.</p>
      </li>
    </ul>

    <p><strong>Check out <a href="community.html">the community page</a> for all community-related information. If you want to contribute, make sure to have a look at the <a href="how-to-contribute.html">contribution guide</a>.</strong></p>
  </div>

  <div class="col-sm-6 text-center">
   <a class="twitter-timeline" href="https://twitter.com/ApacheFlink" data-widget-id="598498380973735936">Tweets by @ApacheFlink</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
  </div>
</div>


      <hr />
      <div class="footer text-center">
        <p>Copyright © 2014-2015 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
        <p>Apache Flink, Apache, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
        <p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
      </div>

    </div><!-- /.container -->

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    <script src="/js/codetabs.js"></script>

    <!-- Google Analytics -->
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'UA-52545728-1', 'auto');
      ga('send', 'pageview');
    </script>
  </body>
</html>
